/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.spring.DAO;


import com.spring.entidades.Empleado;
import java.util.List;
import javax.swing.JOptionPane;
import org.hibernate.SessionFactory;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;

/**
 *
 * @author jerick
 */
@Repository
public class EmpleadoDAO extends HibernateDaoSupport {
    @Autowired

    public EmpleadoDAO(SessionFactory sessionFactory) {
        super.setSessionFactory(sessionFactory);
    }
    
    public List<Empleado> getListarEmpleado(){
        return getHibernateTemplate().find("select e from Empleado e");
    }
    
    
    public String imprimir_enc_lista(){
        String tabla="<br>";
        tabla+="<table width='500' border='1'>";
        tabla+="<tr>";
        tabla+="<th width='122' class='Estilo3' scope='col'><div align='left'>Usuario</div></th>";
        tabla+="<th width='122' class='Estilo3' scope='col'><div align='left'>Contraseña</div></th>";
        tabla+="<th width='122' class='Estilo3' scope='col'><div align='left'>Apellidos</div></th>";
        tabla+="<th width='122' class='Estilo3' scope='col'><div align='left'>Nombres</div></th>";
        tabla+="</tr>";
        return tabla;
    }
    
    public List<Empleado> buscarEmpleado( String usuario,String codigo){
        List<Empleado> emp = null;
        try{
        DetachedCriteria crit = DetachedCriteria.forClass(Empleado.class);
         crit.add(Restrictions.like("usuarioEmp", usuario));
         crit.add(Restrictions.like("codEmp", codigo));
        
        emp= getHibernateTemplate().findByCriteria(crit);                                
        }
        catch(Exception e){
        }
        return emp;

     }
    
     public List<Empleado> getlistabuscar_empleado(String emp)
     {
         return getHibernateTemplate().findByNamedParam("select e from Empleado e where e.dni=:param", "param", emp);//en jpql
         
     }

    public List<Empleado> getlistabuscar_empleado_cod(String emp)
     {
         return getHibernateTemplate().findByNamedParam("select e from Empleado e where e.codEmp=:param", "param", emp);//en jpql
         
     }

     /*public Empleado getlistabuscar_empleado_dni(String dni)
     {
         return getHibernateTemplate().find//.findByNamedParam("select e from Empleado e where e.dni=:param", "param", emp);//en jpql
         
     }*/

     public boolean insertarEmpleado(Empleado emp){
         boolean b=false;
     try{
         getHibernateTemplate().saveOrUpdate(emp);
         b=true;
     }
     catch(Exception e)
     {
         JOptionPane.showMessageDialog(null, e.getMessage());
     }
         return b;
     }
     
      public boolean eliminarEmpleado(String codigo)
     {
         boolean b=false;
         try{
             Empleado t=getHibernateTemplate().get(Empleado.class, codigo);
             getHibernateTemplate().delete(t);
             b=true;
             
         }
         catch (Exception e){
             b=false;
             
         }
         return b;
     }

    
}
